<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Getting Started with Berkeley DB Transaction Processing</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Getting Started with Berkeley DB Transaction Processing" />
    <link rel="next" href="preface.html" title="Preface" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Getting Started with Berkeley DB Transaction Processing</th>
        </tr>
        <tr>
          <td width="20%" align="left"> </td>
          <th width="60%" align="center"> </th>
          <td width="20%" align="right"> <a accesskey="n" href="preface.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="book" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h1 class="title"><a id="idp11328"></a>Getting Started with Berkeley DB Transaction Processing</h1>
          </div>
          <div>
            <div class="legalnotice">
              <a id="idp50427896"></a>
              <p class="legalnotice-title">
                <b>Legal Notice</b>
              </p>
              <span>
        <p>
            This documentation is distributed under an open source license.
            You may review the terms of this license at:
            <a class="ulink" href="http://www.oracle.com/technetwork/database/berkeleydb/downloads/oslicense-093458.html" target="_top">http://www.oracle.com/technetwork/database/berkeleydb/downloads/oslicense-093458.html</a>
            
            
        </p>

        <p>
                Oracle, Berkeley DB,
                
                
                and
                Sleepycat are trademarks or registered trademarks of
                Oracle. All rights to these marks are reserved.
                No third-party use is permitted without the
                express prior written consent of Oracle.
        </p>
        
        <p>
            Other names may be trademarks of their respective owners.
        </p>
        <p>
            To obtain a copy of this document's original source code, please
            submit a request to the Oracle Technology Network forum at:
            <a class="ulink" href="http://forums.oracle.com/forums/forum.jspa?forumID=271" target="_top">http://forums.oracle.com/forums/forum.jspa?forumID=271</a>
            
            
        </p>
    </span>
            </div>
          </div>
          <div>
            <p class="pubdate">9/9/2013</p>
          </div>
        </div>
        <hr />
      </div>
      <div class="toc">
        <p>
          <b>Table of Contents</b>
        </p>
        <dl>
          <dt>
            <span class="preface">
              <a href="preface.html">Preface</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="preface.html#conventions">Conventions Used in this Book</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="moreinfo.html">For More Information</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="moreinfo.html#contact_us">Contact Us</a>
                    </span>
                  </dt>
                </dl>
              </dd>
            </dl>
          </dd>
          <dt>
            <span class="chapter">
              <a href="introduction.html">1. Introduction</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="introduction.html#txnintro">Transaction Benefits</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="sysfailure.html">A Note on System Failure</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="apireq.html">Application Requirements</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="multithread-intro.html">Multi-threaded 
        <span>and Multi-process</span>
        Applications</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="recovery-intro.html">Recoverability</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="perftune-intro.html">Performance Tuning</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="chapter">
              <a href="enabletxn.html">2. Enabling Transactions</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="enabletxn.html#environments">Environments</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="enabletxn.html#filenaming">File Naming</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="enabletxn.html#errorsupport">Error Support</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="enabletxn.html#sharedmemory">Shared Memory Regions</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="enabletxn.html#security">Security Considerations</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="envopen.html">Opening a Transactional Environment and
            <span>Database</span>
            
            
        </a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="chapter">
              <a href="usingtxns.html">3. Transaction Basics</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="usingtxns.html#commitresults">Committing a Transaction</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="nodurabletxn.html">Non-Durable Transactions</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="abortresults.html">Aborting a Transaction</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="autocommit.html">Auto Commit</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="nestedtxn.html">Nested Transactions</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="txncursor.html">Transactional Cursors</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="txnindices.html">Secondary Indices with Transaction Applications</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="maxtxns.html">Configuring the Transaction Subsystem</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="chapter">
              <a href="txnconcurrency.html">4. Concurrency</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="txnconcurrency.html#concurrenthandles">Which DB Handles are Free-Threaded</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="blocking_deadlocks.html">Locks, Blocks, and Deadlocks</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="blocking_deadlocks.html#locks">Locks</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="blocking_deadlocks.html#blocks">Blocks</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="blocking_deadlocks.html#deadlocks">Deadlocks</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="lockingsubsystem.html">The Locking Subsystem</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="lockingsubsystem.html#configuringlock">Configuring the Locking Subsystem</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="lockingsubsystem.html#configdeadlkdetect">Configuring Deadlock Detection</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="lockingsubsystem.html#deadlockresolve">Resolving Deadlocks</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="lockingsubsystem.html#setpriority">Setting Transaction Priorities</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="isolation.html">Isolation</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="isolation.html#degreesofisolation">Supported Degrees of Isolation</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="isolation.html#dirtyreads">Reading Uncommitted Data</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="isolation.html#readcommitted">Committed Reads</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="isolation.html#snapshot_isolation">Using Snapshot Isolation</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="txn_ccursor.html">Transactional Cursors and Concurrent Applications</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="txn_ccursor.html#cursordirtyreads">Using Cursors with Uncommitted Data</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="exclusivelock.html">Exclusive Database Handles</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="readmodifywrite.html">Read/Modify/Write</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="txnnowait.html">No Wait on Blocks</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="reversesplit.html">Reverse BTree Splits</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="chapter">
              <a href="filemanagement.html">5. Managing DB Files</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="filemanagement.html#checkpoints">Checkpoints</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="backuprestore.html">Backup Procedures</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="backuprestore.html#copyutilities">About Unix Copy Utilities</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="backuprestore.html#standardbackup">Offline Backups</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="backuprestore.html#hotbackup">Hot Backup</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="backuprestore.html#incrementalbackups">Incremental Backups</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="recovery.html">Recovery Procedures</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="recovery.html#normalrecovery">Normal Recovery</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="recovery.html#catastrophicrecovery">Catastrophic Recovery</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="architectrecovery.html">Designing Your Application for Recovery</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="architectrecovery.html#multithreadrecovery">Recovery for Multi-Threaded Applications</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="architectrecovery.html#multiprocessrecovery">Recovery in Multi-Process Applications</a>
                    </span>
                  </dt>
                </dl>
              </dd>
              <dt>
                <span class="sect1">
                  <a href="hotfailover.html">Using Hot Failovers</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="logfileremoval.html">Removing Log Files</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="logconfig.html">Configuring the Logging Subsystem</a>
                </span>
              </dt>
              <dd>
                <dl>
                  <dt>
                    <span class="sect2">
                      <a href="logconfig.html#logfilesize">Setting the Log File Size</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="logconfig.html#logregionsize">Configuring the Logging Region Size</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="logconfig.html#inmemorylogging">Configuring In-Memory Logging</a>
                    </span>
                  </dt>
                  <dt>
                    <span class="sect2">
                      <a href="logconfig.html#logbuffer">Setting the In-Memory Log Buffer Size</a>
                    </span>
                  </dt>
                </dl>
              </dd>
            </dl>
          </dd>
          <dt>
            <span class="chapter">
              <a href="wrapup.html">6. Summary and Examples</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="sect1">
                  <a href="wrapup.html#anatomy">Anatomy of a Transactional Application</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="txnexample_c.html">Transaction Example</a>
                </span>
              </dt>
              <dt>
                <span class="sect1">
                  <a href="inmem_txnexample_c.html">In-Memory Transaction Example</a>
                </span>
              </dt>
            </dl>
          </dd>
        </dl>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"> </td>
          <td width="20%" align="center"> </td>
          <td width="40%" align="right"> <a accesskey="n" href="preface.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top"> </td>
          <td width="20%" align="center"> </td>
          <td width="40%" align="right" valign="top"> Preface</td>
        </tr>
      </table>
    </div>
  </body>
</html>
